Automatically converting preformatted text into reflowable text for TV viewing

ABSTRACT

Preformatted text within HTML documents is examined to determine if reflowing the text during formatting for display within a narrow viewing area is appropriate. This determination is based on various special formatting indicia which indicate that the text is a table or other informational device in which lines of text should not be reflowed. If no special formatting indicia are detected, the preformatted text tags are removed, allowing the preformatted text to be reflowed when formatted for display. Otherwise, the preformatted text is left alone or revised according to a user preference. Preformatted text, when appropriately reflowed, is thus rendered more readable and the necessity for scrolling right and left is eliminated.

BACKGROUND OF THE INVENTION

1. Technical Field

The present invention relates in general to displaying HTML data on dataprocessing system display devices and in particular to displaying HTMLdata on a television connected to a set-top box data processing system.Still more particularly, the present invention relates to selectivelyconverting preformatted HTML text into reflowable text for display on atelevision connected to a set-top box data processing system.

2. Description of the Related Art

Many contemporary data processing system applications employ a standardpage description language, the Hypertext Markup Language (HTML), fordata transfers to other data processing systems or applications. HTMLdata comprises standard ASCII text documents in which there are embedded"tags," text enclosed within brackets (<>). Normally, tags are utilizedin pairs within the document, with a slash (/) within the second tagsignifying the end of the desired formatting. For example, textcontained between the tags "<B>" and "</B>" will be displayed in aboldfaced font by an HTML-compatible application.

HTML documents may be viewed as simple text documents, in which case thetags are visible, or using an HTML-compatible application, which willnot display the tags. HTML-compatible applications recognize tags asstructure or formatting commands, references to other elements such asgraphical, motion video, or audio data, or links to other HTMLdocuments. Thus, an HTML-compatible application will not display thetags, but will utilize the tags to format the display of other textwithin the HTML document.

Most of the time, any extra "white space" from spaces, tabs, or hardreturns in an HTML document is stripped out by any HTML-compatibleapplication displaying the document, such as a World Wide Web (WWW or"Web") browser. For example, multiple sequential spaces within an HTMLdocument are collapsed and displayed as a single space by Web browsers.An exception to this elimination of extra white space results from thepreformatted text tag <PRE>. Any extra white space within textsurrounded by the tags <PRE> and </PRE> is retained in the final output.This allows text within an HTML document to be presented in the sameformatting, with all original white space, when viewed with anHTML-compatible application as when viewed using a simple text editor.

The preformatted text tag may be utilized to indent or format lines, andthus may be employed for things such as code examples. Furthermore, textmay be aligned by padding it with white spaces, such that preformattedtext may be utilized to create tables in the final display. Such use ofthe preformatted text tag was common with HTML documents created forearly versions of HTML, which did not support tables. Often, however,low-end document editors utilize the preformatted text tag for all HTMLdocuments created with that editor. Preformatted text tags are alsooften used to quickly and easily convert files which were originally insome sort of text-only form to HTML documents.

For set-top box systems, preformatted text may have an undesirableeffect on display of HTML documents. Television screens, the displaydevice for set-top box systems are typically designed, are usuallynarrower than the 80 character computer screens utilized withconventional data processing systems. Preformatted text within HTMLdocuments does not "reflow," or naturally break lines of text into themaximum line length which may be displayed for a given display device.Because preformatted text is not reflowed to fit specific displaydevices, lines of text often will not fit a television screen. The usermust therefore scroll the display to the right to view the end of a lineof text, then scroll back to the left to view the beginning of the nextline. This renders the user interface extremely annoying, and generallyimpedes a user's ability to read the HTML document.

HTML documents are one specific example of a class of information mediawhich may generally be referred to a "compound" documents. Compounddocuments include text and other features, such as graphics, tables orspreadsheets. Furthermore, other markup languages are widely used, suchas GML and SGML. Such other markup languages may have differentlypreformatted text tags or employ different approaches to precludingreflow of selected text blocks.

It would be desirable, therefore, to intelligently reflow text withincompound document to fit a display screen or window while leavingspecial features such as graphics or tables within the documentundisturbed. As a specific example, it would be desirable to improve thereadability of HTML documents incorporating preformatted text tags,eliminating any unnecessary need to scroll the display of a userinterface to the right and left for each line of text in the display. Itwould also be desirable to reflow preformatted text within an HTMLdocument where the nature of the text renders such alterationappropriate.

SUMMARY OF THE INVENTION

It is therefore one object of the present invention to provide a methodfor selectively reflowing text within a compound document to fit adisplay area while leaving specially formatted features of the documentundisturbed.

It is another object of the present invention to provide an improvedmethod for displaying HTML data on data processing system displaydevices.

It is another object of the present invention to provide an improvedmethod for displaying HTML data on a television connected to a set-topbox data processing system.

It is yet another object of the present invention to provide a methodand apparatus for selectively converting preformatted HTML text intoreflowable text for display on a television connected to a set-top boxdata processing system.

The foregoing objects are achieved as is now described. Preformattedtext within HTML documents is examined to determine if reflowing thetext during formatting for display within a narrow viewing area isappropriate. This determination is based on various special formattingindicia which indicate that the text is a table or other informationaldevice in which lines of text should not be reflowed. If no specialformatting indicia are detected, the preformatted text tags are removed,allowing the preformatted text to be reflowed when formatted fordisplay. Otherwise, the preformatted text is left alone or revisedaccording to a user preference. Preformatted text, when appropriatelyreflowed, is thus rendered more readable and the necessity for scrollingright and left is eliminated.

The above as well as additional objects, features, and advantages of thepresent invention will become apparent in the following detailed writtendescription.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features believed characteristic of the invention are setforth in the appended claims. The invention itself however, as well as apreferred mode of use, further objects and advantages thereof, will bestbe understood by reference to the following detailed description of anillustrative embodiment when read in conjunction with the accompanyingdrawings, wherein:

FIGS. 1A-1D depict various pictorial representations of a dataprocessing system in which a preferred embodiment of the presentinvention may be implemented;

FIG. 2 is a block diagram for the major components of data processingunit in accordance with a preferred embodiment of the present invention;and

FIGS. 3A-3B depict a high level flowchart for a process forautomatically converting preformatted text within an HTML document fordisplay by a data processing system in accordance with a preferredembodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

With reference now to the figures, and in particular with reference toFIGS. 1A through 1D, various pictorial representations of a dataprocessing system in which a preferred embodiment of the presentinvention may be implemented are depicted. FIG. 1A is a pictorialrepresentation of the data processing system as a whole. Data processingsystem 100 in the depicted example is a set-top box providing, withminimal economic costs for hardware to the user, access to the Internet.Data processing system 100 includes a data processing unit 102, which ispreferably sized to fit in typical entertainment centers and providesall required functionality conventionally found in personal computers toenable a user to "browse" the Internet. Additionally, data processingunit 102 may provide other common functions such as, for example,serving as an answering machine, transmitting or receiving facsimiletransmissions, or providing voice mail facilities.

Data processing unit 102 is connected to television 104 for display ofgraphical information. Television 104 may be any suitable television,although color televisions with an S-Video input will provide betterpresentations of the graphical information. Data processing unit 102 maybe connected to television 104 through a standard coaxial cableconnection. A remote control unit 106 allows a user to interact with andcontrol data processing unit 102. Remote control unit 106 emits infrared(IR) signals, preferably modulated at a different frequency than thenormal television, stereo, and VCR infrared remote control frequenciesin order to avoid interference. Remote control unit 106 provides thefunctionality of a pointing device in conventional personal computers,including the ability to move a cursor on a display and select items.

FIG. 1B is a pictorial representation of the front panel of dataprocessing unit 102 in accordance with a preferred embodiment of thepresent invention. The front panel includes an infrared window 108 forreceiving signals from remote control unit 106 and for transmittinginfrared signals. Data processing unit 102 may transmit infrared signalsto be reflected off objects or surfaces, allowing data processing unit102 to automatically control television 104. Volume control 110 permitsadjustment of the sound level emanating from a speaker within dataprocessing unit 102 or from television 104. A plurality oflight-emitting diode (LED) indicators 112 provide an indication to theuser of when data processing unit 102 is on, whether the user hasmessages, whether the modem/phone line is in use, or whether dataprocessing unit 102 requires service.

FIG. 1C is a pictorial representation of the rear panel of dataprocessing unit 102 in accordance with a preferred embodiment of thepresent invention. A three wire (ground included) insulated power cord114 passes through the rear panel. Standard telephone jacks 116 and 118on the rear panel provide an input to a modem from the phone line and anoutput to a handset (not shown). The rear panel also provides a standardcomputer keyboard connection 120, mouse port 122, computer monitor port124, printer port 126, and an additional serial port 128. Theseconnections may be employed to allow data processing unit 102 to operatein the manner of a conventional personal computer. Game port 130 on therear panel provides a connection for a joystick or other gaming controldevice (glove, etc.). Infrared extension jack 132 allows a cabledinfrared LED to be utilized to transmit infrared signals. Microphonejack 134 allows an external microphone to be connected to dataprocessing unit 102.

Video connection 136, a standard coaxial cable connector, connects tothe video-in terminal of television 104 or a video cassette recorder(not shown). Left and right audio jacks 138 connect to the correspondingaudio-in connectors on television 104 or to a stereo (not shown). If theuser has S-Video input, then S-Video connection 140 may be used toconnect to television 104 to provide a better picture than the compositesignal. If television 104 has no video inputs, an external channel 3/4modulator (not shown) may be connected in-line with the antennaconnection.

FIG. 1D is a pictorial representation of remote control unit 106 inaccordance with a preferred embodiment of the present invention. Similarto a standard telephone keypad, remote control unit 106 includes buttons142 for arabic numerals 0 through 9, the asterisk or "star" symbol (*),and the pound sign (#). Remote control unit also includes "TV" button144 for selectively viewing television broadcasts and "Web" button 146for initiating "browsing" of the Internet. A pointing device 147, whichis preferably a trackpoint or "button" pointing device, is included onremote control unit 106 and allows a user to manipulate a cursor on thedisplay of television 104. "Go" and "Back" buttons 148 and 150,respectively, allow a user to select an option or return to a previousselection. "Menu" button 152 causes a contextsensitive menu of optionsto be displayed, while home button 154 allows to user to return to adefault display of options. "PgUp" and "PgDn", buttons 156 and 158allows the user to change the content of the display in display-sizedblocks rather than by scrolling. The message button 160 allows the userto retrieve messages. In addition to, or in lieu of, remote control unit106, an infrared keyboard (not shown) with an integral pointing devicemay be used to control data processing unit 102. The integral pointingdevice is preferably a trackpoint or button type of pointing device. Awired keyboard (also not shown) may also be used through keyboardconnection 120, and a wired pointing device such as a mouse or trackballmay be used through mouse port 122. When a user has one or more of theremote control unit 106, infrared keyboard, wired keyboard and/or wiredpointing device operable, the active device locks out all others until aprescribed period of inactivity has passed.

Referring now to FIG. 2, a block diagram for the major components ofdata processing unit 102 in accordance with a preferred embodiment ofthe present invention is portrayed. As with conventional personalcomputers, data processing unit 102 includes a motherboard 202containing a processor 204 and memory 206 connected to system bus 208.Processor 205 is preferably at least a 486 processor operating at orabove 100 MHz. Memory 206 includes read only memory (ROM) 206acontaining a basic input/output services (BIOS) routine and may includecache memory and/or video RAM.

Video/TV converter 210 on motherboard 202 and connected to system bus208 generates computer video signals for computer monitors, a compositetelevision signal, and an S-Video signal. The functionality of video/TVconverter 210 may be provided utilizing commercially available video andconverter chips. Keyboard/remote control interface unit 212 onmotherboard 202 receives keyboard codes through controller 214,regardless of whether a wired keyboard/pointing device or an infraredkeyboard/remote control is being employed. Infrared remote control unit106 transmits signals which are ultimately sent to the serial port ascontrol signals generated by conventional mouse or pointing devicemovements. Two buttons on remote control unit 106 are interpretedidentically to the two buttons on a conventional mouse, while theremainder of the buttons transmit signals corresponding to keystrokes onan infrared keyboard. Thus, remote control unit 106 has a subset of thefunctions provided by an infrared keyboard. Connectors/indicators 216 onmotherboard 202 provide the connections and indicators on dataprocessing unit 102 described above.

External to motherboard 202 in the depicted example are power supply218, hard drive 220, modem 222, and speaker 224. Power supply 218 is aconventional power supply except that it receives a control signal fromcontroller 214 which effects shut down of all power to motherboard 202,hard drive 220, and modem 222. In some recovery situations, removingpower and rebooting is the only guaranteed method of resetting all ofthese devices to a known state. Thus power supply 218, in response to asignal from controller 214, is capable of powering down and restartingdata processing unit 102.

Hard drive 220 contains operating system and applications software fordata processing unit 102, which preferably includes: IBM DOS 7.0, aproduct of International Business Machines Corporation in Armonk, N.Y.;Windows 3.1, a product Microsoft Corporation in Redmond, Wash.; andNetscape Navigator, a product of Netscape Communications Corporation inMountain View, Calif. Data may also be stored on hard drive 220. Modem222, inserted into a slot mounted sideways on motherboard 202, ispreferably a 33.6 kbps modem supporting the V.42bis, V34bis, V.34, V.17Fax, MNP 1-5, and AT command sets.

Controller 214 is preferably one or more of the 805x family controllers.Controller 214 is continuously powered and, when data processing unit102 is turned on, monitors the system for a periodic "ping" indicatingthat data processing unit 102 is operating normally. In the event thatcontroller 214 does not receive a ping within a prescribed timeoutperiod, controller 214 removes power from the system and restarts thesystem. This may be necessary, for example, when the system experiencesa general protection fault. If multiple attempts to restart the systemprove unsuccessful, controller 214 shuts off data processing unit 102and signals that service is required through indicators 216. Thus, dataprocessing unit 102 is capable of self-recovery in some circumstanceswithout involvement by a user.

Controller 214 also receives and processes input from infrared remotecontrol 106, infrared keyboard, wired keyboard, or wired mouse. When onekeyboard or pointing device is used, all others are locked out (ignored)until none have been active for a prescribed period. Then the firstkeyboard or pointing device to generate activity locks out all others.Controller 214 also directly controls all LED indicators except thatindicating modem use and specifies the boot sector selection during anypower off-on cycle.

Those skilled in the art will recognize that the components depicted inFIGS. 1A-1D and 2 and described above may be varied for specificapplications or embodiments. Such variations in which the presentinvention may be implemented are considered to be within the spirit andscope of the present invention.

With reference now to FIGS. 3A and 3B, a high level flowchart for aprocess for automatically converting preformatted text within an HTMLdocument for display by a data processing system in accordance with apreferred embodiment of the present invention is depicted. The processmay be utilized to automatically convert preformatted text within HTMLdocuments before the document is passed to an application, such as byeliminating unnecessary preformatted text tags before the document isformatted by a Web browser for display.

The exemplary embodiment of the process begins at step 302, whichdepicts receiving an HTML document. The HTML document received may bestored in a memory. The process then passes to step 304, whichillustrates scanning the HTML document to determine whether preformattedtext tags (<PRE> and/or </PRE>) are present within the body of thedocument. The process next passes to step 306, which depicts adetermination of whether preformatted text tags were found within theHTML document received. If not, the process proceeds to step 318, whichdepicts passing the HTML document to the application employed to formatthe document for display.

If the HTML document received contains preformatted text tags, theprocess proceeds instead to step 308, which illustrates scanning thetext between a pair of preformatted text tags. The process next passesto step 310, which depicts a determination of whether special formattingindicia were detected within the preformatted text, which is the textbetween or delimited by the preformatted text tags. Special formattingindicia are indicators that the preformatted text is a table or someother informational device which should not be reflowed. Other specialformatting indicia may comprise tags indicating that a portion of thedocument is, for example, a graphical image or a spreadsheet. Variousindicia of special formatting requirements are described below inconjunction with FIG. 3B.

Referring again to step 310, if no special formatting indicia weredetected in the preformatted text, the process proceeds to step 312,which illustrates deleting the preformatted text tags so that the textwill be reflowed when formatted for display. If, however, specialformatting indicia were detected within the preformatted text, theprocess proceeds instead to step 314, which depicts revising thepreformatted text according to a user preference. Users may optionallybe allowed to select the manner in which preformatted text is displayed.One option would make no revisions to the preformatted text, leaving theHTML document to be displayed as it was received. An alternative is tocut the line lengths within the HTML document to fit the screen line,inserting hard returns in the preformatted text where appropriate. Otheralternatives may also be provided to a user for handling preformattedtext which may not be appropriately reflowed, such as displaying thetext in a smaller font. However, such an alternative may substantiallydegrade viewability of the text on a set-top box data processing system,offsetting any benefits achieved from avoiding the necessity ofscrolling left and right.

Once the preformatted text tags are deleted (step 312) or thepreformatted text is revised according to a current user preference(step 314), the process passes to step 316, which illustrates adetermination of whether all preformatted text within the HTML documenthas been examined. This determination may be made, for example, bydetermining whether additional preformatted text tag pairs are presentwhich delimit text which has not yet been examined.

If additional preformatted text within the HTML document remains to beexamined, the process returns to step 308 to scan the text between anadditional pair of preformatted text tags. If no additional preformattedtext requires examination, however, the process proceeds to step 318,which illustrates passing the (possibly revised) document to theapplication utilized to format the document for display, as describedabove. During formatting of the text for display, reflowable text isdivided into lines having an allowed line length (that is, a lengthwhich will fit in an allowed display width).

Referring to FIG. 3B, various special formatting indicia for determiningwhether preformatted text may be appropriately reflowed in accordancewith a preferred embodiment of the present invention are illustrated.Determinations of whether such special formatting indicia are present,steps which may be readily incorporated into the process depicted inFIG. 3A, are illustrated. Step 310a depicts determining whether thepreformatted text includes multiple successive tabs. Steps 310b and 310cdepict determining whether the text includes multiple successive blankspaces which grammatically unnecessary--that is, multiple successiveblank spaces which are not situated at the end of a line of text, at thebeginning of a line, or following certain specific characters, such asperiods, exclamation points, question marks, or colons.

Step 310d depicts a determination of whether the preformatted textincludes special characters indicative of a table or othertwo-dimensional text device. The special characters which are utilizedfor this determination are typically those which are not letters,numerals, or standard punctuation (periods, commas, exclamation points,question marks, colons, semi-colons, hyphens, dashes, parentheses, andsingle or double quotation marks). The special characters which are thefocus of the determination may include vertical bars , multiplesuccessive hyphens (-) or dashes (--), multiple successive underscores(₋₋), plus signs (+), or box characters (e.g., , , , , , etc.). Avariant of this step determines whether similar special charactersappears on multiple successive lines, which is especially indicative ofa table or other two-dimensional structure. For example, multiplesuccessive lines containing vertical bars suggests that the preformattedtext includes a box or table. Another variant seeks to determine whetherblank spaces, periods, or the beginning or ending points of words alignvertically in multiple successive lines, which is also indicative of atable.

The special formatting indicia described above are merely exemplary.Other special formatting indicia or criteria may be identified bydetailed analysis of the HTML documents most likely to require automaticconversion of preformatted text for a specific application. Such otherspecial formatting indicia are considered to fall within the scope andspirit of the present invention.

In the context of more general compound documents, other appropriateindicia of special formatting may also be identified, depending on theparticular approach used to create the compound document. Tagsidentifying tables or graphical image data in post-script format, forexample, may be found in some compound documents (including documentsconsistent with later versions of HTML). Other tags may indicate astylized formatting of the text which the author or publisher wishes tobe preserved, as in poetry, advertisements, or promotional materials.Such indicia may be utilized within the present invention in the mannerdescribed.

The present invention allows preformatted text tags to be stripped froman HTML document where the nature of the text is such that the text maybe appropriately reflowed. Text contained within preformatted text tagpairs is examined to determine if any special formattingindicia--elements indicating that the preformatted text is a table orother two-dimensional device which should not be reflowed--are present.Where reflowing the preformatted text is appropriate, preformatted texttags may be eliminated. This allows the text to be displayed in a morereadable manner and eliminates the need for users to scroll right andleft for each line of text.

Although described in the context of automatically convertingpreformatted text for display on set-top box data processing systems,the present invention may be employed in a variety of othercircumstances. For example, an application providing display windowswithin the overall display where users may modify the size of eachdisplay window may also benefit from the present invention.

A variety of other applications may benefit from automatically reflowingtext where appropriate. For example, other markup languages may providetags for protecting the formatting of a particular block of text. Thepresent invention may be employed within applications compatible to suchmarkup languages, employing the protective tags as indicia of specialformatting. Alternatively, a USENET newsreader may display postings in afont which does not permit lines of text within the posting to fill orfit evenly within the display area. In such a circumstance, reflow ofcertain portions of the posting, such as the posting header or asignature file appended to the end, may be inappropriate. The presentinvention may be employed within the newsreader to selectively reflowtext as appropriate.

It is important to note that while the present invention has beendescribed in the context of a fully functional data processing system,those skilled in the art will appreciate that the mechanism of thepresent invention is capable of being distributed in the form of acomputer readable medium of instructions in a variety of forms, and thatthe present invention applies equally regardless of the particular typeof signal bearing media used to actually carry out the distribution.Examples of computer readable media include: recordable type media suchas floppy disks and CD-ROMs and transmission type media such as digitaland analog communication links.

While the invention has been particularly shown and described withreference to a preferred embodiment, it will be understood by thoseskilled in the art that various changes in form and detail may be madetherein without departing from the spirit and scope of the invention.

What is claimed is:
 1. A method of automatically converting preformattedtext to reflowable text, comprising:determining whether text includespreformatted text tags defining line formatting for text delimited bythe preformatted text tags; responsive to determining that the textincludes preformatted text tags defining line formatting for textdelimited by the preformatted text tags, determining whether textdelimited by the preformatted text tags includes special formattingindicia indicating that the text delimited by the preformatted text tagsshould not be converted to reflowable text; and responsive todetermining that the text delimited by the preformatted text tags doesnot include special formatting indicia, deleting the preformatted texttags, wherein the text is automatically converted from preformatted textto reflowable text.
 2. The method of claim 1, wherein the step ofdetermining whether text includes preformatted text tags furthercomprises:determining whether the text includes tags selected from thegroup consisting of <PRE> and </PRE>.
 3. The method of claim 1, whereinthe step of determining whether text delimited by the preformatted texttags includes special formatting indicia further comprises:determiningwhether the text delimited by the preformatted text tags includesmultiple successive tabs.
 4. The method of claim 1, wherein the step ofdetermining whether text delimited by the preformatted text tagsincludes special formatting indicia further comprises:determiningwhether the text delimited by the preformatted text tags includesmultiple successive spaces.
 5. The method of claim 1, wherein the stepof determining whether the text delimited by the preformatted text tagsincludes special formatting indicia further comprises:determiningwhether the text delimited by the preformatted text tags includesmultiple successive spaces occurring at a location other than a locationselected from the group consisting of the beginning of a line, the endof a line, and following a colon.
 6. The method of claim 1, wherein thestep of determining whether the text delimited by the preformatted texttags includes special formatting indicia further comprises:determiningwhether text delimited by the preformatted text tags includes specialcharacters.
 7. The method of claim 1, further comprising:responsive todetermining that the text delimited by the preformatted text tagsincludes special formatting indicia, leaving the preformatted text tagsin the text.
 8. An apparatus for automatically converting preformattedtext to reflowable text, comprising:first determination means fordetermining whether text includes preformatted text tags defining lineformatting for text delimited by the preformatted text tags; seconddetermination means, responsive to determining that the text includespreformatted text tags defining line formatting for text delimited bythe preformatted text tags, for determining whether text delimited bythe preformatted text tags includes special formatting indiciaindicating that the text delimited by the preformatted text tags shouldnot be converted to reflowable text; and text editing means, responsiveto determining that the text delimited by the preformatted text tagsdoes not include special formatting indicia, for deleting thepreformatted text tags, wherein the text is automatically converted frompreformatted text to reflowable text.
 9. The apparatus of claim 8,wherein the second determination means further comprises:means fordetermining whether the text delimited by the preformatted text tagsincludes character sequences selected from the group consisting ofmultiple successive tabs, multiple successive spaces, and specialcharacters.
 10. The apparatus of claim 8, wherein the seconddetermination means further comprises:means for determining whether thetext delimited by the preformatted text tags includes multiplesuccessive spaces occurring at a location other than a location selectedfrom the group consisting of the beginning of a line, the end of a line,and following a colon.
 11. The apparatus of claim 8, wherein the editingmeans further comprises:means, responsive to determining that the textdelimited by the preformatted text tags includes special formattingindicia, for leaving the preformatted text tags in the text.
 12. Acomputer program product for use with a data processing system,comprising:a computer usable medium; first instructions on the computerusable medium for determining whether a document includes at least onespecially formatted element; second instructions on the computer usablemedium, responsive to a determination that the document includes atleast one specially formatted element, for determining whether the atleast one specially formatted element includes text and indicia that thetext should not be reflowed; and third instructions on the computerusable medium, responsive to determination that the at least onespecially formatted element does not include indicia that the textshould not be reflowed, for reflowing the text, wherein the preformattedtext within the document is automatically converted to reflowable text.13. The computer program product of claim 12, wherein the firstinstructions further comprise:instructions for determining whether thedocument includes preformatted text.
 14. The computer program product ofclaim 13, wherein the first instructions further comprise:instructionsfor determining whether the document includes preformatted text tagsdelimiting the preformatted text.
 15. The computer program product ofclaim 14, wherein the second instructions further comprise:instructionsfor determining whether the preformatted text delimited by thepreformatted text tags includes character sequences selected from thegroup consisting of multiple successive tabs, multiple successivespaces, and special characters.
 16. The computer program product ofclaim 15, wherein the third instructions further comprise:instructions,responsive to determining that the preformatted text delimited by thepreformatted text tags includes indicia that the text within the atleast one specially formatted element should not be reflowed, forleaving the preformatted text tags in the text.